From 8af225258e4b3f7a099a3c246c66110fce3bf468 Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild.aw" Date: Sun, 1 Oct 2006 10:48:40 -0600 Subject: [PATCH] [IA64] Modify p2m converter to avoid hypervisor crash Crash occurs during destruction of VT-i domain with PV-on-HVM. Signed-off-by: Tsunehisa Doi Signed-off-by: Tomonari Horikoshi --- xen/arch/ia64/xen/mm.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/xen/arch/ia64/xen/mm.c b/xen/arch/ia64/xen/mm.c index 6c656d53eb..e8305dd425 100644 --- a/xen/arch/ia64/xen/mm.c +++ b/xen/arch/ia64/xen/mm.c @@ -396,6 +396,12 @@ gmfn_to_mfn_foreign(struct domain *d, unsigned long gpfn) { unsigned long pte; + // This function may be called from __gnttab_copy() + // during destruction of VT-i domain with PV-on-HVM driver. + if (unlikely(d->arch.mm.pgd == NULL)) { + if (VMX_DOMAIN(d->vcpu[0])) + return INVALID_MFN; + } pte = lookup_domain_mpa(d,gpfn << PAGE_SHIFT, NULL); if (!pte) { panic("gmfn_to_mfn_foreign: bad gpfn. spinning...\n"); -- 2.30.2